package main

import "fmt"

func main() {
	var a Integer =1
	if a.Less(2){
		fmt.Println(a,"Less 2")
	}
	a.Add(2)
	fmt.Println(a,"add 2")
}
type Integer int //定义新类型，设置本质
//	  方法属于谁  方法名 参数		  返回值
func (a Integer) Less (b Integer) bool{
	return a<b
}
//修改对象的时候，必须采用指针
func (a *Integer) Add(b Integer) {
	*a += b
}
/*如果传递的是值而不是指针的话，结果是维持原值，类似于java引用
func (a Integer) Add(b Integer) {
	a += b
}*/
/*
究其原因，是因为Go语言和C语言一样，类型都是基于值传递的。要想修改变量的值，只能
传递指针。*/